package net.csdn.business.common.constant;


/**
 * GatewayConstants
 * @author zhangyl
 * @since 2022/12/13 14:53
 */
public class GatewayConstants {

    /**
     * token主体的id
     */
    public static final String  IDENTITY_ID = "x-identity-id";

    /**
     * token 主体类型：USER:用户;APP:应用
     */
    public static final String  IDENTITY_NAME = "x-identity-name";

    /**
     * token 主体类型：USER:用户;APP:应用
     */
    public static final String  IDENTITY_TYPE = "x-identity-type";


    /**
     * 请求token
     */
    public static final String  TOKEN = "x-token";

    /**
     * 用户id
     */
    public static final String  X_API_VERSION = "x-api-version";

    /**
     * 网关添加路由刷新订阅频道
     */
    public static final String  ROUTE_SUB_CHANNEL = "route_add";


    /**
     * 网关限流每秒限流公共key
     */
    public static final String  RATE_LIMIE_NAME_SPACE_S = "gateway:limit:s:";

    /**
     * 网关限流每小时限流公共key
     */
    public static final String  RATE_LIMIE_NAME_SPACE_H = "gateway:limit:h:";



    /**
     * 网关限流header,每小时允许您发出的最大请求数。
     */
    public static final String  X_RATE_LIMIT = "x-ratelimit-limit";

    /**
     * 网关限流header,当前速率限制窗口中剩余的请求数。
     */
    public static final String  X_RATE_LIMIT_REMAINING = "x-ratelimit-remaining";


    /**
     * 网关限流header,当前速率限制窗口中已发出的请求数。
     */
    public static final String  X_RATE_LIMIT_USED = "x-ratelimit-used";


    /**
     * 网关限流header,当前速率限制窗口重置的时间，单位为 UTC 纪元秒。
     */
    public static final String  X_RATE_LIMIT_RESET= "x-ratelimit-reset";


    /**
     * traceId
     */
    public static final String  X_TRACE_ID= "x-trace-id";

}
